home *** CD-ROM | disk | FTP | other *** search
-
- WHATSNEW.21: What's new in version 2.1 of RExL:
- ------------ ----------------------------------
-
- 1. New language features:
-
- Direct access to database fields through `@fieldname' and
- `@$fieldstr' construction. This feature also supports access to
- multiple databases by using `@dbase.fieldname'. (See the
- ADDRESS.RXL application for a few examples.)
-
- 2. New functions:
-
- DTdayofyear() : returns day of year for given date
- HELP() : switch help on and off
- OSdriveok() : tests if specified drive is ready
- PUSHSCR() : stores contents of screen to memory
- POPSCR() : restores contents of screen from memory
- DBrseek() : Seeks records in alternate data files
-
- 3. New functions in editor:
-
- a. Block delete, move and copy in main editor. This operates in a
- similar manner to the ordinary scrap buffer, except it operates
- on blocks of text, rather than on strings of characters. Note
- that the breakpoint character in version 2.00, the triple line
- character, `' CHAR$(240), is now used to indicate that there
- is text in the line buffer and the breakpoint character has
- been changed to the small box character, `˛' CHAR$(254).
-
- b. New menu options:
-
- i. `New' file option in file menu: For clearing out the editor
- and starting a new file.
-
- ii. `Write to' option in file menu: For writing the current
- application to a new file, and then opening the newly
- created file.
-
- iii. `Default screen' option in edit menu: For selecting a
- default screen. When the screen designer is creating a new
- screen, the default screen will be loaded automatically.
-
- iv. `Runtime stack size' option in options menu: For stack
- intensive applications, the runtime-debugger stack size can
- now be specified.
-
- c. Direct hotkey to debugger on <Ctrl-F9> and runtime on <F9>.
-
- d. Faster and more accurate (see below) field handling in screen
- designer.
-
- e. Hotkey for box drawing in screen designer and more information
- in the screen designer status line (on <Ctrl-S>).
-
- f. The help file now requires about half as much memory in 2.1 as
- it did in 2.0.
-
- 4. New functions in runtime-debugger:
-
- a. Validation of date and time input fields.
-
- b. Smart screen swapping in debugger. The debugger can now detect
- if the line being executed can change the screen, and will
- swap only when necessary (can be toggled on and off).
-
- c. The debugger also has a new list, the call stack, to show the
- current inference chain.
-
- d. The size of the runtime stack can be set by a new command line
- option.
-
- e. The debugger `Animate execution' hotkey has been moved from
- <Alt-F7> to <Alt-F4> for conformity with other debuggers.
-
- 5. An all-new new postfix compiler has been added to the set of tools
- available. This program takes a RExL application image, converts
- the internal format to a much more efficient one and places the
- converted code with the screen file in DOS executable file. The
- resulting file can be distributed as a standalone application and
- does not need the application image file, the screen file nor any
- of the various runtime modules. Speed increases are typically of
- the order of 200 to 400 percent, depending on the application.
-
- 6. Note that your old configuration file (REXL.CFG) is not compatible
- with the new one. RExL will display an error if you load RExL with
- an old config file in the current directory.
-
- Also, your application files will have to exported from earlier
- versions using the ASCII|Save file menu option and then reloaded
- into version 2.1 using the ASCII|Load file option. This is because
- of changes in the internal listing format.
-
- 6. All RExL executable files now have integral proprietry virus
- checking code which will detect executable file infection for
- about 95% of known viruses.
-
-
- Changes and bugfixes from version 2.00 :
- ----------------------------------------
-
- 1. The syntax checker failed to flag an error when a function
- requiring a numeric parameter was passed a function returning a
- string (it worked ok when passed a string constant or a string
- variable). In certain very obscure expressions unary minuses were
- not recognised as such.
-
- 2. The box draw in the screen designer failed to clear the contents
- of an `overwrite' box if insert mode had been toggled in a
- previous line drawing operation.
-
- 3. In the screen designer, a field move operation would generate a
- spurious `Area crosses fields' error message when the moved block
- overlaid fields which were already contained in the block being
- moved. The field movement code has been entirely rewritten.
-
- 4. Function upper case/lower case did not work in debugger. In 2.1,
- it is preset to the same value as that in the editor.
-
- 5. Extra blank lines were written at the end of every rule in the
- ASCII listing when a listing had been loaded and then re-saved.
-
- 6. Under certain conditions, a reference search for a variable in the
- variable list would return some incorrect rule references, and
- miss out others. This was caused by an late change in the internal
- listing format which was overlooked in the variable reference
- location code.
-
- 8. Certain times caused rounding errors when passing values back and
- forth between DTtimevalue(), DTtime$() and other time functions.
- Further minor rounding inaccuracies occurred in the variable watch
- window in the debugger when viewing certain numbers. Values are
- now displayed to a maximum of 15 significant digits.
-
- 9. Rules whose first line was blank were not interpreted correctly by
- the inference engine when looped using While and BackTo.
-
- 10. The rules regarding what constitutes valid dates and times have
- been tightened up. The rules used in 2.00 sometimes permitted odd
- and incorrectly formatted strings to be passed as valid.
-
- 11. DBselndx() and DBseldbf() now return 1 for success and 0 for
- failure, instead of the previously selected database/index file.
-
- 12. The operation of <Ctrl-Left> and <Ctrl-Right> during string input
- in the editor and runtime modules has been changed and is now
- more intuitive.
-